<?php namespace Common\Model;

use Hdphp\Model\Model;
/*
 * blog友情链接表****
 */
class Link extends Model
{
	//指定数据库里的 表名
	protected $table = 'link';

	//自动验证字段不存在时验证失败
	protected $validate = array(
		array('lname','required','LinkName怎么能为空呢?',3,3),
//		array('logo','required','你不上传个logo?',3,3),		//如何让logo图片必须上传????????

		array('url','required','你不传个链接玩个球?',3,3)
	);

	/*自动完成  $auto = [array(表单字段名,处理方法,方法类型,验证条件,处理时间)]
	 *自动完成是在模型层对数据进行自动处理的操作过程。
	 *必须执行 create 或 save 模型方法才有效
	 */
	protected $auto = array(
	  	//sendtime发表时间字段,使用框架的time(),条件为必须处理,插入时处理
		array('addtime','time','function',3,1),
		array('logo','getLogo','method',3,3)
	);

	
	//图片上传
	public function getLogo(){
	//***先判断
		//(修改)接收编辑页面隐藏域的旧图片的值,只有修改页面才有隐藏域,才会触发
		$oldLogo = Q('post.logo');
		//如果没上传图片的情况
		if($_FILES['logo']['error'] == 4){
			//(修改)再判断如果隐藏域有旧图片地址那么就是修改,返回旧图片的数据-没有修改原图片,继续使用原图片数据信息
			if($oldLogo){
				return $oldLogo;
			}
			//添加的时候没有上传图片,返回空字符串
			return '';
		}//if--FILES
	//***再处理
		//*设置上传类型
		$files = Upload::type('jpg,jpeg,png,gif,AI,PDF,EPS,CDR')->make();
		//*如果上传成功,返回上传地址给数据
		if($files){
			//如果用户在添加和编辑的时候上传了图片
			//(修改)判断如果有旧图片数据信息,说明是编辑操作,那就需要删除原旧图片
			if($oldLogo){
				//删除原旧logo图片
				unlink($oldLogo);
			}//if--$oldLogo
			$files = $files[0]['path'];
//			p($files);
			return $files;
		}//if--$files
	//如果上传失败了,把上传错误压入到当前模型的错误属性里,使外面的控制器可以用getError调取获得错误信息提示
		$this->error = Upload::getError();
	}//getlogo
	
		
	//添加数据
	public function store(){
	    //如果通过了自动验证
	    if($this->create()){
	    	//添加数据
	    	$this->add();
			return TRUE;
	    }
		//否则返回false
		return FALSE;
	}//store
	
	//修改
	public function edit(){
		//如果create验证错误,return错
		if(!$this->create()) return FALSE;
		//否则save修改
		$this->save();
		return TRUE;
	}//edit
	
	
}//class-Arc
?>